<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // yield* 语法允许一个 Generator 函数委托给另一个 Generator 函数，
    // 形成一个嵌套的生成器。它会依次遍历委托的生成器并返回值。
    function* gen1() {
        yield 1;
        yield 2;
    }

    function* gen2() {
        yield* gen1();  // 委托给 gen1
        yield 3;
    }

    const g = gen2();
    console.log(g.next().value);  // 输出: 1
    console.log(g.next().value);  // 输出: 2
    console.log(g.next().value);  // 输出: 3

</script>
</html>